#include <stdio.h>

#include "nfc_hal_debug.h"

sCmdTypeDef cmd;

uint8_t check_sum(uint8_t *buf, int len)
{
    uint8_t sum = 0;

    while (len--)
    {
        sum += *buf++;
    }

    return sum;
}

void hal_debug_cmd_recv_handler(uint8_t ch)
{
    cmd.msg[(cmd.index++)%CMD_MSG_MAX] = ch;
    if(cmd.msg[0] != 0x68)cmd.index = 0;
}

void hal_debug_cmd_read(void (*func)(void *pkt))
{
//    while(cmd.msg[0] == 0x68 && (cmd.msg[1] <= cmd.index))
//    {
//        if(cmd.msg[cmd.msg[1]-1] == check_sum(cmd.msg, cmd.msg[1] - 1))
//        {
//            if(func)
//                func(cmd.msg);
//        }
//        cmd.index -= cmd.msg[1];
//        memmove(cmd.msg, &cmd.msg[cmd.msg[1]], cmd.index);
//    }
    return;
}

void make_packet(uint8_t cmd, uint8_t *buf, uint8_t len)
{
    return;
//    uint8_t sum = 0;
//
//    sum += 0x68;
//    drv_interface.hw_put_char(0x68);
//    sum += len + 4;
//    drv_interface.hw_put_char(len + 4);
//    sum += cmd;
//    drv_interface.hw_put_char(cmd);
//
//    while (len--) {
//        drv_interface.hw_put_char(*buf);
//        sum += *buf++;
//    }
//    drv_interface.hw_put_char(sum);
}


int fputc(int ch, FILE *f)
{
    /* Place your implementation of fputc here */
    /* e.g. write a character to the USART */
    if (ch == '\n')
    {
        fputc('\r', f);
    }
   // uart_SendChar(ch);
    return ch;
}
